package team.newexcellence.tsfitness.service;


import team.newexcellence.tsfitness.pojo.Food;
import team.newexcellence.tsfitness.pojo.Recipes;

import java.util.List;
import java.util.Map;

public interface FoodService {
    /**
     * 查看所有食物
     *
     * @return 食物ID的集合
     * @throws Exception
     */
    public List<Food> fingAllFood() throws Exception;

    /**
     * 根据用户ID查看所属用户的饮食计划
     *
     * @param userID
     * @return 用户所属的饮食计划
     * @throws Exception
     */
    public Recipes lookMyRecipes(int userID) throws Exception;

    /**
     * 根据营养价值的不同查看食物
     *
     * @param nutrition
     * @return 存放食物
     * @throws Exception
     */
    public List<Food> findFoodByNutrition(String nutrition) throws Exception;

    /**
     * 根据食物名称模糊查找对应的营养含量
     *
     * @param foodName
     * @return
     * @throws Exception
     */
    public Map<String, Double> findNutritionByFoodName(String foodName) throws Exception;

    /**
     * 用户将所选择的食物添加到自己的饮食计划中
     *
     * @param foodID
     * @param userID
     * @return 是否添加成功
     * @throws Exception
     */
    public Integer addFoodToRecipes(int foodID, int userID) throws Exception;

    /**
     * 根据食物ID查找食物
     *
     * @param foodID
     * @return
     * @throws Exception
     */
    public Food findFoodByID(int foodID) throws Exception;
}
